package com.erp.erp_entitys.business.entity;

import com.erp.annotation.PropertyMsg;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;

/**
 * 资金管理-报价明细表(OfferDetail)实体类
 *
 * @author lst
 * @since 2021-01-09 18:45:32
 */
public class OfferDetailEntity implements Serializable {
    private static final long serialVersionUID = 410299585618296015L;
    /**
    * 主键
    */
    private Integer id;
    /**
    * 报价主表id
    */
    private Integer parentId;
    /**
    * 图片
    */
    private String img;
    /**
    * 产品编码
    */
    @PropertyMsg("产品编码")
    private String productCode;
    /**
    * 规格编码
    */
    @PropertyMsg("规格编码")
    private String specificationCode;
    /**
    * 规格说明
    */
    @PropertyMsg("规格说明")
    private String specificationExplanation;
    /**
    * 客户货号
    */
    @PropertyMsg("客户货号")
    private String clientProductNo;
    /**
    * 产品中文名称
    */
    @PropertyMsg("产品中文名称")
    private String productCname;
    /**
    * 产品英文名称
    */
    @PropertyMsg("产品英文名称")
    private String productEname;
    /**
    * 产品中文描述
    */
    @PropertyMsg("产品中文描述")
    private String productCdesc;
    /**
    * 产品英文描述
    */
    @PropertyMsg("产品英文描述")
    private String productEdesc;
    /**
    * 数量
    */
    @PropertyMsg("数量")
    private BigDecimal productNum;
    /**
    * 产品单位名称
    */
    @PropertyMsg("产品单位名称")
    private String productUnitName;
    /**
    * 产品单位编码
    */
    @PropertyMsg("产品单位编码")
    private String productUnitCode;
    /**
    * 单价
    */
    @PropertyMsg("单价")
    private BigDecimal unitPrice;
    /**
    * 金额小计
    */
    @PropertyMsg("金额小计")
    private BigDecimal moneySubtotal;
    /**
    * 人民币采购价
    */
    @PropertyMsg("人民币采购价")
    private BigDecimal purchasePriceRmb;
    /**
    * 美金采购价
    */
    @PropertyMsg("美金采购价")
    private BigDecimal purchasePriceUsd;
    /**
    * 利润额
    */
    @PropertyMsg("利润额")
    private BigDecimal profitMargin;
    /**
    * 仓库费用比
    */
    @PropertyMsg("仓库费用比")
    private BigDecimal warehouseCostRatio;
    /**
    * 40HQ海运费
    */
    @PropertyMsg("40HQ海运费")
    private BigDecimal fortyOceanFreight;
    /**
    * 40HQ
    */
    @PropertyMsg("40HQ")
    private BigDecimal fortyHq;
    /**
    * 边际利润率
    */
    @PropertyMsg("边际利润率")
    private BigDecimal marginalProfitRatio;
    /**
    * 仓库费用金额
    */
    @PropertyMsg("仓库费用金额")
    private BigDecimal warehouseCostAmount;
    /**
    * 利润率
    */
    @PropertyMsg("利润率")
    private BigDecimal profitMarginRatio;
    /**
    * 进口关税
    */
    @PropertyMsg("金额")
    private BigDecimal importTariffs;
    /**
    * 退税率
    */
    @PropertyMsg("退税率")
    private BigDecimal taxRebateRate;
    /**
    * 增值税率
    */
    @PropertyMsg("增值税率")
    private BigDecimal vatRate;
    /**
    * 颜色
    */
    @PropertyMsg("颜色")
    private String color;
    /**
    * 供应商名称
    */
    @PropertyMsg("供应商名称")
    private String supplierName;
    /**
    * 海关编码
    */
    @PropertyMsg("海关编码")
    private String customsCode;
    /**
    * 报关品名
    */
    @PropertyMsg("报关品名")
    private String nameCustomsDeclaration;
    /**
    * 英文品名
    */
    @PropertyMsg("英文品名")
    private String englishProductName;
    /**
    * 报关单位
    */
    @PropertyMsg("报关单位")
    private String customsDeclarationUnit;
    /**
    * 创建时间
    */
    private Date createDate;
    /**
    * 修改时间
    */
    private Date modifyTime;
    /**
    * 是否有效(0:无效 1:有效)
    */
    private Integer valid;



    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getSpecificationCode() {
        return specificationCode;
    }

    public void setSpecificationCode(String specificationCode) {
        this.specificationCode = specificationCode;
    }

    public String getSpecificationExplanation() {
        return specificationExplanation;
    }

    public void setSpecificationExplanation(String specificationExplanation) {
        this.specificationExplanation = specificationExplanation;
    }

    public String getClientProductNo() {
        return clientProductNo;
    }

    public void setClientProductNo(String clientProductNo) {
        this.clientProductNo = clientProductNo;
    }

    public String getProductCname() {
        return productCname;
    }

    public void setProductCname(String productCname) {
        this.productCname = productCname;
    }

    public String getProductEname() {
        return productEname;
    }

    public void setProductEname(String productEname) {
        this.productEname = productEname;
    }

    public String getProductCdesc() {
        return productCdesc;
    }

    public void setProductCdesc(String productCdesc) {
        this.productCdesc = productCdesc;
    }

    public String getProductEdesc() {
        return productEdesc;
    }

    public void setProductEdesc(String productEdesc) {
        this.productEdesc = productEdesc;
    }

    public BigDecimal getProductNum() {
        return productNum;
    }

    public void setProductNum(BigDecimal productNum) {
        this.productNum = productNum;
    }

    public String getProductUnitName() {
        return productUnitName;
    }

    public void setProductUnitName(String productUnitName) {
        this.productUnitName = productUnitName;
    }

    public String getProductUnitCode() {
        return productUnitCode;
    }

    public void setProductUnitCode(String productUnitCode) {
        this.productUnitCode = productUnitCode;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getMoneySubtotal() {
        return moneySubtotal;
    }

    public void setMoneySubtotal(BigDecimal moneySubtotal) {
        this.moneySubtotal = moneySubtotal;
    }

    public BigDecimal getPurchasePriceRmb() {
        return purchasePriceRmb;
    }

    public void setPurchasePriceRmb(BigDecimal purchasePriceRmb) {
        this.purchasePriceRmb = purchasePriceRmb;
    }

    public BigDecimal getPurchasePriceUsd() {
        return purchasePriceUsd;
    }

    public void setPurchasePriceUsd(BigDecimal purchasePriceUsd) {
        this.purchasePriceUsd = purchasePriceUsd;
    }

    public BigDecimal getProfitMargin() {
        return profitMargin;
    }

    public void setProfitMargin(BigDecimal profitMargin) {
        this.profitMargin = profitMargin;
    }

    public BigDecimal getWarehouseCostRatio() {
        return warehouseCostRatio;
    }

    public void setWarehouseCostRatio(BigDecimal warehouseCostRatio) {
        this.warehouseCostRatio = warehouseCostRatio;
    }

    public BigDecimal getFortyOceanFreight() {
        return fortyOceanFreight;
    }

    public void setFortyOceanFreight(BigDecimal fortyOceanFreight) {
        this.fortyOceanFreight = fortyOceanFreight;
    }

    public BigDecimal getFortyHq() {
        return fortyHq;
    }

    public void setFortyHq(BigDecimal fortyHq) {
        this.fortyHq = fortyHq;
    }

    public BigDecimal getMarginalProfitRatio() {
        return marginalProfitRatio;
    }

    public void setMarginalProfitRatio(BigDecimal marginalProfitRatio) {
        this.marginalProfitRatio = marginalProfitRatio;
    }

    public BigDecimal getWarehouseCostAmount() {
        return warehouseCostAmount;
    }

    public void setWarehouseCostAmount(BigDecimal warehouseCostAmount) {
        this.warehouseCostAmount = warehouseCostAmount;
    }

    public BigDecimal getProfitMarginRatio() {
        return profitMarginRatio;
    }

    public void setProfitMarginRatio(BigDecimal profitMarginRatio) {
        this.profitMarginRatio = profitMarginRatio;
    }

    public BigDecimal getImportTariffs() {
        return importTariffs;
    }

    public void setImportTariffs(BigDecimal importTariffs) {
        this.importTariffs = importTariffs;
    }

    public BigDecimal getTaxRebateRate() {
        return taxRebateRate;
    }

    public void setTaxRebateRate(BigDecimal taxRebateRate) {
        this.taxRebateRate = taxRebateRate;
    }

    public BigDecimal getVatRate() {
        return vatRate;
    }

    public void setVatRate(BigDecimal vatRate) {
        this.vatRate = vatRate;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getCustomsCode() {
        return customsCode;
    }

    public void setCustomsCode(String customsCode) {
        this.customsCode = customsCode;
    }

    public String getNameCustomsDeclaration() {
        return nameCustomsDeclaration;
    }

    public void setNameCustomsDeclaration(String nameCustomsDeclaration) {
        this.nameCustomsDeclaration = nameCustomsDeclaration;
    }

    public String getEnglishProductName() {
        return englishProductName;
    }

    public void setEnglishProductName(String englishProductName) {
        this.englishProductName = englishProductName;
    }

    public String getCustomsDeclarationUnit() {
        return customsDeclarationUnit;
    }

    public void setCustomsDeclarationUnit(String customsDeclarationUnit) {
        this.customsDeclarationUnit = customsDeclarationUnit;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Integer getValid() {
        return valid;
    }

    public void setValid(Integer valid) {
        this.valid = valid;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("OfferDetailEntity").append('[')
                .append("id=")
                .append(id)
                .append(",parentId=")
                .append(parentId)
                .append(",img=")
                .append(img)
                .append(",productCode=")
                .append(productCode)
                .append(",specificationCode=")
                .append(specificationCode)
                .append(",specificationExplanation=")
                .append(specificationExplanation)
                .append(",clientProductNo=")
                .append(clientProductNo)
                .append(",productCname=")
                .append(productCname)
                .append(",productEname=")
                .append(productEname)
                .append(",productCdesc=")
                .append(productCdesc)
                .append(",productEdesc=")
                .append(productEdesc)
                .append(",productNum=")
                .append(productNum)
                .append(",productUnitName=")
                .append(productUnitName)
                .append(",productUnitCode=")
                .append(productUnitCode)
                .append(",unitPrice=")
                .append(unitPrice)
                .append(",moneySubtotal=")
                .append(moneySubtotal)
                .append(",purchasePriceRmb=")
                .append(purchasePriceRmb)
                .append(",purchasePriceUsd=")
                .append(purchasePriceUsd)
                .append(",profitMargin=")
                .append(profitMargin)
                .append(",warehouseCostRatio=")
                .append(warehouseCostRatio)
                .append(",fortyOceanFreight=")
                .append(fortyOceanFreight)
                .append(",fortyHq=")
                .append(fortyHq)
                .append(",marginalProfitRatio=")
                .append(marginalProfitRatio)
                .append(",warehouseCostAmount=")
                .append(warehouseCostAmount)
                .append(",profitMarginRatio=")
                .append(profitMarginRatio)
                .append(",importTariffs=")
                .append(importTariffs)
                .append(",taxRebateRate=")
                .append(taxRebateRate)
                .append(",vatRate=")
                .append(vatRate)
                .append(",color=")
                .append(color)
                .append(",supplierName=")
                .append(supplierName)
                .append(",customsCode=")
                .append(customsCode)
                .append(",nameCustomsDeclaration=")
                .append(nameCustomsDeclaration)
                .append(",englishProductName=")
                .append(englishProductName)
                .append(",customsDeclarationUnit=")
                .append(customsDeclarationUnit)
                .append(",createDate=")
                .append(createDate)
                .append(",modifyTime=")
                .append(modifyTime)
                .append(",valid=")
                .append(valid)
                .append(']');
        return sb.toString();
    }
}